1. Field of the Invention
The present invention relates to client-server applications and more specifically to a method and apparatus for reducing programming complexity in client applications when interfacing with database servers operating with different programming interfaces.
2. Related Art
Client application generally refers to portions of an application executed on user systems. For example, a client application may contain software code, which when executed provides for a graphical display to enable users to provide values for various input data and to process the provided values. Such processing often entails computations in addition to accessing (read, store, delete and modify) data from the database servers.
A database server is often implemented with a programming interface. A programming interface generally indicates a specific format in which instructions are to be provided (to a database management system contained in the database server) to execute a corresponding procedure/function (which would cause data to be accessed) provided within the database server. For example, a database management system may support execution of multiple functions/procedures, and a client system may be required to send instructions consistent with the format specified by the programming interface of the corresponding function/procedure.
Different database servers (or database management systems) are implemented with different programming interfaces, for example, as the implementations are often vendor (e.g., the interface requirements are different for database servers provided by IBM versus those provided by Oracle International Inc) and/or standard (e.g., ODBC vs. JDBC) dependent.
In several prior environments (e.g., in a “client server environment” in which client applications are implemented with at least substantial intelligence), when a client application needs to interface with different database servers, the client application needs to provide different instructions consistent with each of the programming interfaces.
Such is the case even when client instructions interface with the database servers via an embodiment of application servers, which at least substantially forward (or pass through) the database access requests. Accordingly, a client application may need to be implemented consistent with the interface requirements of the specific database server sought to be accessed in such a prior approach.
From the above, it may be appreciated that the complexity of client applications is enhanced when a client system needs to access different database servers implementing different programming interfaces.
The complexity of developing such client applications is further increased since the specific environment (e.g., Java, Visual Basic) in which the client application operates often forces different programming interfaces to the database servers. Thus, a database server may require different instructions depending on the environment in which the client application operates.
Therefore, what is needed is a method and apparatus for reducing programming complexity in client applications when interfacing with database servers operating with different programming interfaces.